using System;
using System.Data;
using System.ComponentModel;
using System.Reflection;
using System.Collections.Generic;

namespace DataObject.Model
{
	[Serializable]
    public class CabinStatusDTO : DTOBase
	{
		#region Reference property Members

		private ReservationDetailDTO _reservationDetail = new ReservationDetailDTO();
		public ReservationDetailDTO ReservationDetail
		{
			get
			{
				return _reservationDetail;
			}
			set
			{
				if (_reservationDetail != value)
				{
					_reservationDetail = value;
				}
			}
		}

		#endregion

		#region Collection Members


		#endregion

		#region Property BlockDates

		private int _blockDates;

		/// <summary>
		///  Property BlockDates
		/// <summary>
		public int BlockDates
		{
			get
			{
				return _blockDates;
			}

			set
			{
				if (_blockDates != value)
				{
					this.OnBlockDatesChanging(value);
					_blockDates = value;
					this.OnBlockDatesChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property CabinID

		private int _cabinID;

		/// <summary>
		///  Property CabinID
		/// <summary>
		public int CabinID
		{
			get
			{
				return _cabinID;
			}

			set
			{
				if (_cabinID != value)
				{
					this.OnCabinIDChanging(value);
					_cabinID = value;
					this.OnCabinIDChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property Date

		private DateTime _date;

		/// <summary>
		///  Property Date
		/// <summary>
		public DateTime Date
		{
			get
			{
				return _date;
			}

			set
			{
				if (_date != value)
				{
					this.OnDateChanging(value);
					_date = value;
					this.OnDateChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RDID

		private Guid _rDID;

		/// <summary>
		///  Property RDID
		/// <summary>
		public Guid RDID
		{
			get
			{
				return _rDID;
			}

			set
			{
				if (_rDID != value)
				{
					this.OnRDIDChanging(value);
					_rDID = value;
					this.OnRDIDChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property Status

		private int _status;

		/// <summary>
		///  Property Status
		/// <summary>
		public int Status
		{
			get
			{
				return _status;
			}

			set
			{
				if (_status != value)
				{
					this.OnStatusChanging(value);
					_status = value;
					this.OnStatusChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Extensibility Method Declarations

		protected virtual void OnBlockDatesChanging(int blockDates) { }
		protected virtual void OnBlockDatesChanged() { }
		protected virtual void OnCabinIDChanging(int cabinID) { }
		protected virtual void OnCabinIDChanged() { }
		protected virtual void OnDateChanging(DateTime date) { }
		protected virtual void OnDateChanged() { }
		protected virtual void OnRDIDChanging(Guid rDID) { }
		protected virtual void OnRDIDChanged() { }
		protected virtual void OnStatusChanging(int status) { }
		protected virtual void OnStatusChanged() { }

		#endregion

	}
}
